API Documentation
Camera.h
1 // Camera.h
3 //
5 
6 namespace nkGraphics
7 {
11  class DLL_GRAPHICS_EXPORT Camera : public Node
12  {
13  public :
14 
18  Camera () ;
22  ~Camera () ;
23 
24  // Getters
28  float getNear () const ;
32  float getFar () const ;
40  std::string_view getName () const ;
44  float getFov () const ;
48  float getAspectRatio () const ;
52  bool getHidden () const ;
65 
66  // Setters
70  virtual void setPositionRelative (const nkMaths::Vector& value) override ;
74  virtual void setPositionAbsolute (const nkMaths::Vector& value) override ;
78  virtual void translateRelative (const nkMaths::Vector& value) override ;
82  virtual void translateAbsolute (const nkMaths::Vector& value) override ;
86  virtual void setOrientationRelative (const nkMaths::Quaternion& value) override ;
90  virtual void setOrientationAbsolute (const nkMaths::Quaternion& value) override ;
94  virtual void rotateRelative (const nkMaths::Quaternion& value) override ;
98  virtual void rotateAbsolute (const nkMaths::Quaternion& value) override ;
102  virtual void setScaleRelative (const nkMaths::Vector& value) override ;
106  virtual void setScaleAbsolute (const nkMaths::Vector& value) override ;
110  virtual void applyScale (const nkMaths::Vector& value) override ;
116  void setNear (float value) ;
122  void setFar (float value) ;
130  void setName (const std::string_view& name) ;
136  void setFov (float radianValue) ;
142  void setAspectRatio (float widthOnHeight) ;
159  void setAutoUpdateOnContextSwitch (bool value) ;
167  void setHidden (bool value) ;
168 
169  // Updates
184  void lookAt (const nkMaths::Vector& point, const nkMaths::Vector& enforcedUp = nkMaths::Vector(0, 0, 0, 0)) ;
185 
186  // Utilities
225 
226  // Raycast
259 
260  // Import / Export
266  virtual void exportClassToTree (nkExport::Node* rootNode) ;
272  virtual void importClassFromTree (nkExport::Node* rootNode) ;
273  } ;
274 }
nkGraphics::Camera::setNear
void setNear(float value)
nkGraphics::Camera::setAutoUpdateOnContextSwitch
void setAutoUpdateOnContextSwitch(bool value)
nkGraphics::Camera::lookAt
void lookAt(const nkMaths::Vector &point, const nkMaths::Vector &enforcedUp=nkMaths::Vector(0, 0, 0, 0))
nkGraphics::Camera::setFar
void setFar(float value)
nkGraphics::Camera::~Camera
~Camera()
nkGraphics::Camera::setHidden
void setHidden(bool value)
nkGraphics::Camera::setPositionAbsolute
virtual void setPositionAbsolute(const nkMaths::Vector &value) override
nkGraphics::Camera::updateViewMatrix
void updateViewMatrix()
nkGraphics::Camera
Offers all controls to model a camera.
Definition: Camera.h:12
nkGraphics::Camera::getName
std::string_view getName() const
nkGraphics::Camera::rotateRelative
virtual void rotateRelative(const nkMaths::Quaternion &value) override
nkGraphics::Camera::getFar
float getFar() const
nkGraphics::Camera::getFov
float getFov() const
nkMaths::Quaternion
A quaternion, symbolizing rotations as a 4D vector.
Definition: Quaternion.h:12
nkGraphics::Camera::getFarPlanePoints
void getFarPlanePoints(nkMaths::Vector &a, nkMaths::Vector &b, nkMaths::Vector &c, nkMaths::Vector &d)
nkGraphics::Camera::getNearPlanePoints
void getNearPlanePoints(nkMaths::Vector &a, nkMaths::Vector &b, nkMaths::Vector &c, nkMaths::Vector &d)
nkGraphics::Camera::getAspectRatio
float getAspectRatio() const
nkGraphics::Camera::setAspectRatio
void setAspectRatio(float widthOnHeight)
nkMaths::Matrix
Represents a 4x4 float matrix.
Definition: Matrix.h:12
nkGraphics::RenderContext
A rendering context, attached to a graphic window to present to the screen.
Definition: RenderContext.h:12
nkGraphics::Camera::translateRelative
virtual void translateRelative(const nkMaths::Vector &value) override
nkGraphics::Camera::getDirectionAtScreenCoordView
nkMaths::Vector getDirectionAtScreenCoordView(float x, float y)
nkGraphics::Camera::getDirectionAtPixelView
nkMaths::Vector getDirectionAtPixelView(int x, int y)
nkGraphics::Camera::translateAbsolute
virtual void translateAbsolute(const nkMaths::Vector &value) override
nkGraphics::Camera::applyScale
virtual void applyScale(const nkMaths::Vector &value) override
nkGraphics::Camera::prepareForContext
void prepareForContext(RenderContext *context)
nkGraphics::Camera::getDirectionAtScreenCoordWorld
nkMaths::Vector getDirectionAtScreenCoordWorld(float x, float y)
nkGraphics::Camera::getProjectionMatrix
const nkMaths::Matrix & getProjectionMatrix()
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkGraphics::Camera::rotateAbsolute
virtual void rotateAbsolute(const nkMaths::Quaternion &value) override
nkGraphics::Camera::getDirectionAtPixelWorld
nkMaths::Vector getDirectionAtPixelWorld(int x, int y)
nkGraphics::Camera::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode)
nkGraphics::Camera::updateProjectionMatrix
void updateProjectionMatrix()
nkGraphics::Camera::getFrustum
Frustum & getFrustum()
nkGraphics::Camera::getHidden
bool getHidden() const
nkGraphics::Camera::getFrustumCornersDirectionsWorld
void getFrustumCornersDirectionsWorld(nkMaths::Vector &a, nkMaths::Vector &b, nkMaths::Vector &c, nkMaths::Vector &d)
nkGraphics::Camera::Camera
Camera()
nkGraphics::Camera::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode)
nkGraphics::Camera::setPositionRelative
virtual void setPositionRelative(const nkMaths::Vector &value) override
nkGraphics::Camera::setScaleRelative
virtual void setScaleRelative(const nkMaths::Vector &value) override
nkGraphics::Camera::getViewMatrix
const nkMaths::Matrix & getViewMatrix()
nkGraphics::Frustum
Defines a frustum.
Definition: Frustum.h:12
nkGraphics::Camera::getNear
float getNear() const
nkGraphics::Camera::setScaleAbsolute
virtual void setScaleAbsolute(const nkMaths::Vector &value) override
nkGraphics::Node
Represents a node in a scene graph.
Definition: Node.h:14
nkGraphics::Camera::setFov
void setFov(float radianValue)
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::Camera::setOrientationAbsolute
virtual void setOrientationAbsolute(const nkMaths::Quaternion &value) override
nkGraphics::Camera::getFrustumCornersDirectionsView
void getFrustumCornersDirectionsView(nkMaths::Vector &a, nkMaths::Vector &b, nkMaths::Vector &c, nkMaths::Vector &d)
nkMaths::Vector
A 4-component vector class, with floats.
Definition: Vector.h:12
nkGraphics::Camera::setOrientationRelative
virtual void setOrientationRelative(const nkMaths::Quaternion &value) override
nkGraphics::Camera::setName
void setName(const std::string_view &name)
nkGraphics::Camera::getViewProjMatrix
nkMaths::Matrix getViewProjMatrix()